using System;
using System.Collections.Generic;
using System.Text;

using Framework.Library.Base;

namespace Framework.Library.DAO
{
    public interface IManagerFactory
    {
		// Get Methods
		IPortalCacheManager GetPortalCacheManager();
		IPortalCacheManager GetPortalCacheManager(INHibernateSession session);
		IPortalCommandManager GetPortalCommandManager();
		IPortalCommandManager GetPortalCommandManager(INHibernateSession session);
		IPortalLanguageManager GetPortalLanguageManager();
		IPortalLanguageManager GetPortalLanguageManager(INHibernateSession session);
		IPortalModulecontrolManager GetPortalModulecontrolManager();
		IPortalModulecontrolManager GetPortalModulecontrolManager(INHibernateSession session);
		IPortalModuleManager GetPortalModuleManager();
		IPortalModuleManager GetPortalModuleManager(INHibernateSession session);
		IPortalModulesettingManager GetPortalModulesettingManager();
		IPortalModulesettingManager GetPortalModulesettingManager(INHibernateSession session);
		IPortalPartnerManager GetPortalPartnerManager();
		IPortalPartnerManager GetPortalPartnerManager(INHibernateSession session);
		IPortalPersonaluserManager GetPortalPersonaluserManager();
		IPortalPersonaluserManager GetPortalPersonaluserManager(INHibernateSession session);
		IPortalPortalManager GetPortalPortalManager();
		IPortalPortalManager GetPortalPortalManager(INHibernateSession session);
		IPortalPortalsettingManager GetPortalPortalsettingManager();
		IPortalPortalsettingManager GetPortalPortalsettingManager(INHibernateSession session);
		IPortalRoleManager GetPortalRoleManager();
		IPortalRoleManager GetPortalRoleManager(INHibernateSession session);
		IPortalRolespermisionManager GetPortalRolespermisionManager();
		IPortalRolespermisionManager GetPortalRolespermisionManager(INHibernateSession session);
		IPortalTabcontrolManager GetPortalTabcontrolManager();
		IPortalTabcontrolManager GetPortalTabcontrolManager(INHibernateSession session);
		IPortalTabManager GetPortalTabManager();
		IPortalTabManager GetPortalTabManager(INHibernateSession session);
		IPortalUserpermisionManager GetPortalUserpermisionManager();
		IPortalUserpermisionManager GetPortalUserpermisionManager(INHibernateSession session);
		IPortalUserManager GetPortalUserManager();
		IPortalUserManager GetPortalUserManager(INHibernateSession session);
    }

    public class ManagerFactory : IManagerFactory
    {
        #region Constructors

        public ManagerFactory()
        {
        }

        #endregion

        #region Get Methods

		public IPortalCacheManager GetPortalCacheManager()
        {
            return new PortalCacheManager();
        }
		public IPortalCacheManager GetPortalCacheManager(INHibernateSession session)
        {
            return new PortalCacheManager(session);
        }
		public IPortalCommandManager GetPortalCommandManager()
        {
            return new PortalCommandManager();
        }
		public IPortalCommandManager GetPortalCommandManager(INHibernateSession session)
        {
            return new PortalCommandManager(session);
        }
		public IPortalLanguageManager GetPortalLanguageManager()
        {
            return new PortalLanguageManager();
        }
		public IPortalLanguageManager GetPortalLanguageManager(INHibernateSession session)
        {
            return new PortalLanguageManager(session);
        }
		public IPortalModulecontrolManager GetPortalModulecontrolManager()
        {
            return new PortalModulecontrolManager();
        }
		public IPortalModulecontrolManager GetPortalModulecontrolManager(INHibernateSession session)
        {
            return new PortalModulecontrolManager(session);
        }
		public IPortalModuleManager GetPortalModuleManager()
        {
            return new PortalModuleManager();
        }
		public IPortalModuleManager GetPortalModuleManager(INHibernateSession session)
        {
            return new PortalModuleManager(session);
        }
		public IPortalModulesettingManager GetPortalModulesettingManager()
        {
            return new PortalModulesettingManager();
        }
		public IPortalModulesettingManager GetPortalModulesettingManager(INHibernateSession session)
        {
            return new PortalModulesettingManager(session);
        }
		public IPortalPartnerManager GetPortalPartnerManager()
        {
            return new PortalPartnerManager();
        }
		public IPortalPartnerManager GetPortalPartnerManager(INHibernateSession session)
        {
            return new PortalPartnerManager(session);
        }
		public IPortalPersonaluserManager GetPortalPersonaluserManager()
        {
            return new PortalPersonaluserManager();
        }
		public IPortalPersonaluserManager GetPortalPersonaluserManager(INHibernateSession session)
        {
            return new PortalPersonaluserManager(session);
        }
		public IPortalPortalManager GetPortalPortalManager()
        {
            return new PortalPortalManager();
        }
		public IPortalPortalManager GetPortalPortalManager(INHibernateSession session)
        {
            return new PortalPortalManager(session);
        }
		public IPortalPortalsettingManager GetPortalPortalsettingManager()
        {
            return new PortalPortalsettingManager();
        }
		public IPortalPortalsettingManager GetPortalPortalsettingManager(INHibernateSession session)
        {
            return new PortalPortalsettingManager(session);
        }
		public IPortalRoleManager GetPortalRoleManager()
        {
            return new PortalRoleManager();
        }
		public IPortalRoleManager GetPortalRoleManager(INHibernateSession session)
        {
            return new PortalRoleManager(session);
        }
		public IPortalRolespermisionManager GetPortalRolespermisionManager()
        {
            return new PortalRolespermisionManager();
        }
		public IPortalRolespermisionManager GetPortalRolespermisionManager(INHibernateSession session)
        {
            return new PortalRolespermisionManager(session);
        }
		public IPortalTabcontrolManager GetPortalTabcontrolManager()
        {
            return new PortalTabcontrolManager();
        }
		public IPortalTabcontrolManager GetPortalTabcontrolManager(INHibernateSession session)
        {
            return new PortalTabcontrolManager(session);
        }
		public IPortalTabManager GetPortalTabManager()
        {
            return new PortalTabManager();
        }
		public IPortalTabManager GetPortalTabManager(INHibernateSession session)
        {
            return new PortalTabManager(session);
        }
		public IPortalUserpermisionManager GetPortalUserpermisionManager()
        {
            return new PortalUserpermisionManager();
        }
		public IPortalUserpermisionManager GetPortalUserpermisionManager(INHibernateSession session)
        {
            return new PortalUserpermisionManager(session);
        }
		public IPortalUserManager GetPortalUserManager()
        {
            return new PortalUserManager();
        }
		public IPortalUserManager GetPortalUserManager(INHibernateSession session)
        {
            return new PortalUserManager(session);
        }
        
        #endregion
    }
}
